package com.xh.poster.annotation;


import com.xh.poster.font.DecorationEnum;
import com.xh.poster.font.FontFamilyEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 字体设置
 *
 * @author yangXS
 * @Date 2020/11/21
 * @since 1.0
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PosterFontCss {

    /**
     * positionX,positionY
     */
    int[] position() default {0, 0};

    /**
     * 字体大小
     */
    int size() default 18;

    /**
     * 颜色 默认黑色
     */
    int[] color() default {0, 0, 0};

    /**
     * 是否可以换行
     * 第一个参数 0 false 1 true
     * 第二个参数 换行的限制宽度, 如果小于字体宽度 则不会换行
     * 第三个参数 换行次数
     */
    int[] canNewLine() default {0, 0, 1};

    /**
     * 文字装饰
     */
    DecorationEnum decoration() default DecorationEnum.NONE;

    /**
     * 字体
     */
    FontFamilyEnum fontFamily() default FontFamilyEnum.PING_FANG_SC_MEDIUM;

    /**
     * 优先级  设置该属性时 position x 失效
     * center right  left
     */
    boolean center() default false;

    /**
     * 删除线设置 TODO 暂未实现
     */
    // boolean delLine() default false;

    boolean right() default false;

    /**
     * 相对定位对象横坐标值
     */
    int relativeItemX() default 1;

    /**
     * 相对定位是否相对元素开头
     */
    boolean relativeItemXIsFront() default false;

    /**
     * 相对定位对象内容
     */
    String relativeItemContent() default "";

    /**
     * 相对定位对象字体大小(只是被定位的对象值修改该值)
     */
    int relativeItemFontSize() default 1;

    /**
     * 锚点
     */
    String anchorPoint() default "";

}
